Numerical processors such as computers or digital signal processors generally use either fixed point or linear representation of quantities or floating point representation. In floating point representation, a quantity may be represented by three parts: Sign, Exponent and Mantissa.
The Sign bit indicates if the quantity represented is positive or negative. The Mantissa may represent the magnitude of the quantity, stripped of its Sign and scaled to be less than unity but greater than 0.5 by dividing or multiplying by some power of two. The Exponent indicates the power of two used to scale the Mantissa, where a positive exponent means the quantity is equal to the Mantissa multiplied by that power of two while a negative Exponent means that the quantity is equal to the Mantissa divided by a power of two. The Exponent can thus be positive or negative and thus has a sign bit of its own. The Exponent is, in fact, the integral part of the logarithm to the base two of the magnitude of the represented quantity. The fractional part, however, continues to be represented by the Mantissa on a linear scale. Floating Point is thus a mixed linear/logarithm representation in which the most significant bits are on a logarithmic scale and the least significant bits are on a linear scale.
It is also known to provide numerical representation in full logarithmic form. A full logarithmic representation is one in which both the integral part and the fractional part of the logarithm of the magnitude of the quantity are used, together with a Sign bit to indicate whether the quantity was positive or negative before taking the logarithm of its magnitude. The logarithm of the magnitude, like the Exponent of floating point representation, has a sign of its own indicating whether the magnitude was greater or less than unity. Alternatively, the logarithm can be regarded always as a positive number that describes how much bigger the quantity is than some least representable value. In either case, logarithmic representation has a problem in that zero typically cannot be represented as the logarithm of zero is minus infinity.
The advantage of a linear or fixed point representation is that adders are typically simple to construct, although multipliers are generally more complicated and power consuming. The advantage of full logarithmic representation is that multipliers and dividers are typically more simple to construct, being simply adders and subtractors, respectively, while addition is generally harder to perform.
Logarithmic representation, furthermore, is generally advantageous when squaring a quantity (a left shift) or taking the square root of a quantity (a right shift), and thus when operations such as EQU SQRT(X.sup.2 +Y.sup.2)
have to be performed often, logarithmic arithmetic is typically more efficient, as there is only one difficult operation (the "+") to be performed instead of three (two squares and a square root) when using fixed point arithmetic.
With floating point representation, both addition and multiplication are generally more complicated operations, as are division and square root operations. Accordingly, floating point operations typically impose a high processing load.